/*
 * @Author: zhuxiaoyi
 * @Date: 2025-02-24
 * @LastEditor: zhuxiaoyi
 * @LastEditTime: 2025-02-25 10:55:42
 * @Description: DTOs for file operations, including drive listing, file querying, and file processing
 */

import { ApiProperty } from '@midwayjs/swagger';


export class FileQueryDto {

  @ApiProperty({
    description: 'The directory path to retrieve files from. It can be empty if you want to start from the root.',
    example: 'Documents/Files',
  })
  path: string;  // Represents the current directory path for lazy loading
}

export class MoveFilesDto {
  @ApiProperty({
    description: 'The list of files to be moved',
    example: [
      { name: "file1.txt", path: "D:/path/to/file1.txt" },
      { name: "file2.jpg", path: "D:/path/to/file2.jpg" },
    ],
  })
  files: { name: string; path: string }[];

  @ApiProperty({
    description: 'The target path where the files will be moved',
    example: 'D:/new/path/to/move/files',
  })
  targetPath: string;
}

export class VirtualPathDto {
  @ApiProperty({
    description: 'The root directory where the virtual path will be created.',
    example: 'C:/virtual',
  })
  rootPath: string;

  @ApiProperty({
    description: 'The irrigation area used for generating the virtual path',
    example: 'Area 1',
  })
  irrigationArea: string;

  @ApiProperty({
    description: 'The date and time used for generating the virtual path',
    example: '2025-02-24T12:00:00',
  })
  dateTime: string;
}
